{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ffdfe136-224b-49f1-a2fa-ab3f0d7f8c55",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from tqdm import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "92c00c4e-0ee9-478b-9a7d-63bf5de82104",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义模型和损失函数\n",
    "class Model(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.hidden1 = nn.Linear(1, 32)\n",
    "        self.hidden2 = nn.Linear(32, 32)\n",
    "        self.output = nn.Linear(32, 1)\n",
    "        self.relu = nn.ReLU()\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.hidden1(x)\n",
    "        x = self.relu(x)\n",
    "        x = self.hidden2(x)\n",
    "        x = self.relu(x)\n",
    "        x = self.output(x)\n",
    "        return x\n",
    "\n",
    "loss_fn = nn.MSELoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "1f93de61-4bfb-4954-a29d-04e71912c8d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成随机数据\n",
    "np.random.seed(0)\n",
    "n_samples = 1000\n",
    "x = np.linspace(-5, 5, n_samples)\n",
    "y = 0.3 * (x ** 2) + np.random.randn(n_samples)\n",
    "\n",
    "# 转换为Tensor\n",
    "x = torch.unsqueeze(torch.from_numpy(x).float(), 1)\n",
    "y = torch.unsqueeze(torch.from_numpy(y).float(), 1)\n",
    "\n",
    "# 封装为数据集\n",
    "dataset = torch.utils.data.TensorDataset(x, y)\n",
    "\n",
    "names = [\"Batch\", \"Stochastic\", \"Minibatch\"] # 批量梯度下降法，随机梯度下降法，小批量梯度下降法\n",
    "batch_size = [n_samples, 1, 128]\n",
    "momentum = [1, 0, 1]\n",
    "losses = [[], [], []]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "83ae60a6-e452-40f6-83b5-30162113b41b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 超参数\n",
    "learning_rate = 0.0001\n",
    "n_epochs = 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8b8a0f5e-df0e-46cb-ac7a-83fa5bcba714",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Batch: 100%|███████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 186.06epoch/s]\n",
      "Stochastic: 100%|█████████████████████████████████████████████████████████████| 1000/1000 [00:00<00:00, 3071.67epoch/s]\n",
      "Minibatch: 100%|██████████████████████████████████████████████████████████████| 1000/1000 [00:00<00:00, 1146.75epoch/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(3):\n",
    "    model = Model()\n",
    "    optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate, momentum=momentum[i])\n",
    "    dataloader = torch.utils.data.DataLoader(dataset, batch_size=batch_size[i], shuffle=True)\n",
    "    for epoch in tqdm(range(n_epochs), desc=names[i], leave=True, unit='epoch'):\n",
    "        x, y = next(iter(dataloader))\n",
    "        optimizer.zero_grad()\n",
    "        out = model(x)\n",
    "        loss = loss_fn(out, y)\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        losses[i].append(loss.item())\n",
    "\n",
    "for i, loss_list in enumerate(losses):\n",
    "    plt.figure(figsize=(2, 4))\n",
    "    plt.plot(loss_list)\n",
    "    plt.ylim((0, 15))\n",
    "    plt.xlabel('Epoch')\n",
    "    plt.ylabel('Loss')\n",
    "    plt.title(names[i])\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6d769558-e52f-4149-b4d8-51afc3d35d20",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.21"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
